#ifndef _HARDWARE_ANALOG_COMPARATOR_H_
#define _HARDWARE_ANALOG_COMPARATOR_H_


enum InterruptModeHardwareAnalogComparator 
{
	ComparatorInterruptOnOutputToggleAnalogComparator,
	ReservedAnalogComparator,
	ComparatorInterruptOnFallingOutputEdgeAnalogComparator,
	ComparatorInterruptOnRisingOutputEdgeAnalogComparator
};
enum ComparatorsHardwareAnalogComparator
{
	AIN1_AnalogComparator,
	ADC0_AnalogComparator,
	ADC1_AnalogComparator,
	ADC2_AnalogComparator,
	ADC3_AnalogComparator,
	ADC4_AnalogComparator,
	ADC5_AnalogComparator,
	ADC6_AnalogComparator,
	ADC7_AnalogComparator
};


enum ComparatorsHardwareAnalogComparator
{
	AIN1_AnalogComparator,
	ADC0_AnalogComparator,
	ADC1_AnalogComparator,
	ADC2_AnalogComparator,
	ADC3_AnalogComparator,
	ADC4_AnalogComparator,
	ADC5_AnalogComparator,
	ADC6_AnalogComparator,
	ADC7_AnalogComparator
};

class AnalogComparator
{
	public:
		void setEnableMultiplexer(unsigned char flag);

		void setDisable(unsigned char flag);

		void setBandgap(unsigned char flag);

		void setInterrupt(unsigned char flag);

		void setEnableMultiplexer(unsigned char flag);

		void setDisable(unsigned char flag);

		void setInputCapture(unsigned char flag);


		void setInterruptMode(unsigned char flag);

		void setInterruptMode(unsigned char flag);


		unsigned char checkADC_Off();

		void setNegativeComparator(unsigned char flag);

};


#endif
